Systems and method for timing commercial breaks

ABSTRACT

Various arrangements are presented for handling broadcast television commercials. A television receiver may receive, from a television service provider, metadata that indicates a commencement of a television commercial break and an expected duration. Based on the metadata, the television receiver may initiate a countdown timer such that the countdown timer is based on the expected duration of the television commercial break and counts down. The television receiver may output for presentation a remaining duration based on the countdown timer as the countdown timer counts down.

BACKGROUND

When a television viewer is watching broadcast television programming,commercial breaks are a common occurrence. During a commercial break,when one or more commercials are being broadcast, television viewerswill frequently: leave the room, change the television channel, do abrief chore, and/or get a snack. These actions may often be performedwith the intent of returning to viewing the television channel when thecommercial break ends. The television viewer may become frustrated whenthe television viewer loses track of time and returns to the televisionchannel after the commercial break has ended or returns to thetelevision channel broadcasting the commercial break too soon and issubjected to viewing a portion of the commercial break.

SUMMARY

In some embodiments, a method for handling broadcast televisioncommercials is presented. The method may include receiving, by atelevision receiver, metadata that indicates a commencement of atelevision commercial break and an expected duration. The method mayinclude, based on the metadata, initiating, by the television receiver,a countdown timer such that the countdown timer is based on the expectedduration of the television commercial break and counts down. The methodmay include outputting, by the television receiver, for presentation, aremaining duration based on the countdown timer as the countdown timercounts down.

Embodiments of such a method may include one or more of the followingfeatures: Outputting for presentation the remaining duration may occurvia a display present on the television receiver. The method may includeoutputting, by the television receiver, to a presentation device, afirst broadcast of a first television channel. The first televisionchannel may be presenting the television commercial break. The methodmay include outputting the remaining duration comprises presenting theremaining duration on the presentation device overlaid on the televisioncommercial break. The method may include outputting, by the televisionreceiver, a second broadcast of a second television channel in responseto user input. The method may include continuing to output, by thetelevision receiver, the remaining duration overlaid on the secondbroadcast of the second television channel. The method may includechanging, by the television receiver, the second television channel tothe first television channel based on the remaining duration expiring.The method may include receiving, by the television receiver, auser-defined time period, wherein the remaining duration is output forpresentation in response to the remaining duration equaling or beingless than the user-defined time period. The method may includereceiving, by the television receiver, a command from a remote controlrequesting the remaining duration, wherein the remaining duration isoutput for presentation in response to the command. The method mayinclude, in response to the metadata, accessing, by the televisionreceiver, a streaming content provider. The method may include, basedupon the remaining duration, requesting, by the television receiver,from the streaming content provider, a piece of content equal to or lessthan the remaining duration. The method may include receiving, by thetelevision receiver, the piece of content. The method may includeoutputting, by the television receiver, the piece of content during theremaining duration. The method may include presenting the piece ofcontent in lieu of at least a portion of the television commercialbreak. The metadata may be received from a third-party provider via anetwork connection, the third-party provider being distinct from atelevision service provider. The method may include presenting the pieceof content simultaneously with at least a portion of the televisioncommercial break.

In some embodiments, a system for handling broadcast televisioncommercials is presented. The system may include one or more processors.The system may further include a memory communicatively coupled with andreadable by the one or more processors and having stored thereinprocessor-readable instructions. When executed by the one or moreprocessors, the instructions may cause the one or more processors toreceive metadata that indicates a commencement of a televisioncommercial break and an expected duration. The instructions may causethe one or more processors to, based on the metadata, initiate acountdown timer such that the countdown timer is based on the expectedduration of the television commercial break and counts down. Theinstructions may cause the one or more processors to output forpresentation, a remaining duration based on the countdown timer as thecountdown timer counts down.

In various embodiments such a system, one or more of the followingfeatures may be present: The processor-readable instructions that, whenexecuted, cause the one or more processors to output for presentationthe remaining duration may occur via a display present on the televisionreceiver. The instructions may cause the one or more processors tooutput, to a presentation device, a first broadcast of a firsttelevision channel. The first television channel may be presenting thetelevision commercial break. The instructions may cause the one or moreprocessors to outputting the remaining duration comprises presenting theremaining duration on the presentation device overlaid on the televisioncommercial break. The instructions may cause the one or more processorsto output a second broadcast of a second television channel in responseto user input. The instructions may cause the one or more processors tocontinue to output the remaining duration overlaid on the secondbroadcast of the second television channel. The instructions may causethe one or more processors to receive a command from a remote controlrequesting the remaining duration, wherein the remaining duration isoutput for presentation in response to the command, wherein the systemfurther comprises the remote control. The instructions may cause the oneor more processors to, in response to the metadata, access a streamingcontent provider. The instructions may cause the one or more processorsto, based upon the remaining duration, request, from the streamingcontent provider, a piece of content equal to or less than the remainingduration. The instructions may cause the one or more processors toreceive the piece of content. The instructions may cause the one or moreprocessors to output the piece of content during the remaining duration.The instructions may cause the one or more processors to cause the pieceof content to be output for presentation in lieu of at least a portionof the television commercial break. The system may be configured toreceive the metadata from a third-party provider via the Internet, thethird-party provider being distinct from a television service provider.

In some embodiments, a non-transitory processor-readable medium forhandling broadcast television commercials is presented. The medium mayinclude processor-readable instructions configured to cause one or moreprocessors to receive metadata that indicates a commencement of atelevision commercial break and an expected duration. The instructionsmay be configured to cause the one or more processors to, based on themetadata, initiate a countdown timer such that the countdown timer isbased on the expected duration of the television commercial break andcounts down. The instructions may be configured to cause the one or moreprocessors to output for presentation a remaining duration based on thecountdown timer as the countdown timer counts down.

BRIEF DESCRIPTION OF THE DRAWINGS

A further understanding of the nature and advantages of variousembodiments may be realized by reference to the following figures. Inthe appended figures, similar components or features may have the samereference label. Further, various components of the same type may bedistinguished by following the reference label by a dash and a secondlabel that distinguishes among the similar components. If only the firstreference label is used in the specification, the description isapplicable to any one of the similar components having the same firstreference label irrespective of the second reference label.

FIG. 1 illustrates an embodiment of a satellite television distributionsystem.

FIG. 2 illustrates an embodiment of a television receiver.

FIG. 3 illustrates an embodiment of a timing engine.

FIG. 4A illustrates an embodiment of presentation device receiving anoutput from the television receiver that includes a countdown timer.

FIG. 4B illustrates an embodiment of a television receiver presenting acountdown timer.

FIG. 4C illustrates an embodiment of a presentation device receiving anoutput from a television receiver that includes a countdown timer with atimer-induced picture-in-picture (PiP) display.

FIG. 5 illustrates an embodiment of a commercial-induced alternatecontent presentation selection interface.

FIG. 6 illustrates an embodiment of a method for handling broadcasttelevision commercials.

FIG. 7 illustrates an embodiment of a method for handling broadcasttelevision commercials by altering presentation based on the remainingduration of the countdown timer.

FIG. 8 illustrates an embodiment of a method for handling broadcasttelevision commercials by presenting streaming video content duringcommercial breaks.

FIG. 9 illustrates an embodiment of a computer system.

DETAILED DESCRIPTION

A countdown timer may permit a user to accurately time how long remainsuntil a commercial break is expected to end and the television programthat the user desires to view is expected to resume being broadcast. Atelevision service provider may broadcast metadata that providesinformation to a television receiver (e.g., a set top box) thatindicates when a television commercial break commences and the expectedduration. The expected duration may be based on a historical analysis ofcommercial breaks on the television channel or on television channelsgenerally. Based on the metadata, a countdown timer may be initiated bythe television receiver and output for presentation, either via apresentation device (e.g., a television) or directly via a display ofthe television receiver (e.g., on the face of the television receiver).Upon the countdown timer expiring, if another television channel hasbeen selected for output, the television receiver may resume outputtingthe television channel on which the commercial break occurred. In someembodiments, as the remaining duration of the countdown timer elapsesand reaches a reference value, a picture-in-picture (PiP) view of thechannel on which the commercial break was reached may be presented ifthe television channel has been changed. A user may then provide userinput if the user desires to return to the television channel on whichthe commercial break was broadcast.

In some embodiments, content from a second source, rather than anothertelevision channel, may be presented during a commercial break. A usermay define preferences about the types of content the user desires toview. When the countdown timer is initiated at the television receiver,content from another source, such as an Internet-based content streamingservice, may be output for presentation while the countdown timer iselapsing. Such content may be retrieved via an Internet connection, incontrast to the television channel which may be received via atelevision service provider's network. When the countdown timer finisheselapsing, the television channel may resume being output forpresentation.

FIG. 1 illustrates an embodiment of a satellite television distributionsystem 100 configured to manage encoding and distribution of content.Satellite television distribution system 100 may include: televisionservice provider system 110, satellite transmitter equipment 120,satellites 130, satellite dish 140, television receiver 150, andpresentation device 160. Alternate embodiments of satellite televisiondistribution system 100 may include fewer or greater numbers ofcomponents. While only one satellite dish 140, television receiver 150,and presentation device 160 are illustrated, it should be understoodthat multiple (e.g., tens, thousands, millions) instances of userequipment may receive television signals from television serviceprovider system 110 via satellites 130. While FIG. 1 focuses onsatellite-based distribution of television broadcasts, it should beunderstood that embodiments detailed in relation to FIGS. 2-9 can beimplemented in other forms of television distribution systems thatdistribute television programming, such as cable-based distributionsystems, over-the-air (OTA) distribution systems, and IP-baseddistribution systems, to name several examples.

Television service provider system 110 and satellite transmitterequipment 120 may be operated by a television service provider. Atelevision service provider may distribute television channels,on-demand programming, programming information, and/or othercontent/services to users. Television service provider system 110 mayreceive feeds of one or more television channels from various sources.To distribute television channels for presentation to users, feeds ofthe television channels may be relayed to user equipment via multipletelevision distribution satellites. Each satellite may relay multipletransponder streams. Satellite transmitter equipment 120 (120-1, 120-2)may be used to transmit a feed of one or more television channels fromtelevision service provider system 110 to one or more satellites 130.While a single television service provider system 110 and satellitetransmitter equipment 120 are illustrated as part of satellitetelevision distribution system 100, it should be understood thatmultiple instances of transmitter equipment may be used, possiblyscattered geographically, to communicate with satellites 130. Suchmultiple instances of satellite transmitting equipment may communicatewith the same or with different satellites. Different televisionchannels may be transmitted to satellites 130 from different instancesof transmitting equipment. For instance, a different satellite dish ofsatellite transmitter equipment 120 may be used for communication withsatellites in different orbital slots.

Satellites 130 may be configured to receive signals, such as streams oftelevision channels, from one or more satellite uplinks such assatellite transmitter equipment 120. Such streams may be encoded to savebandwidth. For example, MPEG encoding may be used to decrease the amountof bandwidth required to broadcast content. Satellites 130 may relayreceived signals from satellite transmitter equipment 120 (and/or othersatellite transmitter equipment) to multiple instances of user equipmentvia transponder streams. Different frequencies may be used for uplinksignals 170 from transponder streams 180. Satellites 130 may be ingeosynchronous orbit. Each of the transponder streams transmitted bysatellites 130 may contain multiple television channels transmitted aspacketized data. For example, a single transponder stream may be aserial digital packet stream containing multiple television channels.Therefore, packets for multiple television channels may be interspersed.

Multiple satellites 130 may be used to relay television channels fromtelevision service provider system 110 to satellite dish 140. Differenttelevision channels may be carried using different satellites. Differenttelevision channels may also be carried using different transponders ofthe same satellite; thus, such television channels may be transmitted atdifferent frequencies and/or different frequency ranges. As an example,a first and second television channel may be relayed via a firsttransponder of satellite 130-1. A third, fourth, and fifth televisionchannel may be relayed via a different satellite or a differenttransponder of the same satellite relaying a transponder stream at adifferent frequency. A transponder stream transmitted by a particulartransponder of a particular satellite may include a finite number oftelevision channels, such as seven. Each of these television channelsmay be encoded. Accordingly, if many television channels are to be madeavailable for viewing and recording, multiple transponder streams may benecessary to transmit all of the television channels to televisionreceiver 150. In addition to carrying television channels, a transponderstream may include metadata. Metadata may include data that is not audioor video data to be output for presentation via a presentation device.Rather, metadata may be used to control operation and/or configurationof a television receiver.

Satellite dish 140 may be a piece of user equipment that is used toreceive transponder streams from one or more satellites, such assatellites 130. Satellite dish 140 may be provided to a subscriber foruse on a subscription basis to receive television channels provided bythe television service provider system 110, satellite transmitterequipment 120, and/or satellites 130. Satellite dish 140, which mayinclude one or more low noise blocks (LNBs), may be configured toreceive transponder streams from multiple satellites and/or multipletransponders of the same satellite. Satellite dish 140 may be configuredto receive television channels via transponder streams on multiplefrequencies. Based on the characteristics of television receiver 150and/or satellite dish 140, it may only be possible to capturetransponder streams from a limited number of transponders concurrently.For example, a tuner of television receiver 150 may only be able to tuneto a single transponder stream from a transponder of a single satelliteat a given time. The tuner can then be re-tuned to another transponderof the same or a different satellite. A television receiver 150 havingmultiple tuners may allow for multiple transponder streams to bereceived at the same time.

In communication with satellite dish 140 may be one or more televisionreceivers. Television receivers may be configured to decode signalsreceived from satellites 130 via satellite dish 140 for output andpresentation via a presentation device, such as presentation device 160.A television receiver may be incorporated as part of a television or maybe part of a separate device, commonly referred to as a set-top box(STB). Television receiver 150 may decode signals received via satellitedish 140 and provide an output to presentation device 160. A televisionreceiver is defined to include STBs and also circuitry having similarfunctionality that may be incorporated with another device. Forinstance, circuitry similar to that of a television receiver may beincorporated as part of a television. As such, while FIG. 1 illustratesan embodiment of television receiver 150 as separate from presentationdevice 160, it should be understood that, in other embodiments, similarfunctions may be performed by a television receiver integrated withpresentation device 160. The television receivers detailed herein can beconsidered a form of DVR because such television receivers may have DVRfunctionality. Accordingly, embodiments detailed herein that explicitlyrefer to a DVR or device with DVR functionality can refer to atelevision receiver, which may be in the form of an STB.

Presentation device 160 may be used to present video and/or audiodecoded and output by television receiver 150. Television receiver 150may also output a display of one or more interfaces to presentationdevice 160, such as an electronic programming guide (EPG) and/or aninterface to permit the selection of streaming content for duringcommercial breaks. In many embodiments, presentation device 160 is atelevision. Presentation device 160 may also be a monitor, computer, orsome other device configured to display video and, possibly, play audio.

Uplink signal 170-1 represents a signal between satellite transmitterequipment 120 and satellite 130-1. Uplink signal 170-2 represents asignal between satellite transmitter equipment 120 and satellite 130-2.Each of uplink signals 170 may contain streams of one or more differenttelevision channels. For example, uplink signal 170-1 may contain afirst group of television channels, while uplink signal 170-2 contains asecond group of television channels. Each of these television channelsmay be scrambled such that unauthorized persons are prevented fromaccessing the television channels.

Transponder stream 180-1 represents a transponder stream signal betweensatellite 130-1 and satellite dish 140. Transponder stream 180-2represents a transponder stream signal between satellite 130-2 andsatellite dish 140. Each of transponder streams 180 may contain one ormore different television channels, which may be at least partiallyscrambled. For example, transponder stream 180-1 may be a firsttransponder stream containing a first group of television channels,while transponder stream 180-2 may be a second transponder streamcontaining a different group of television channels.

FIG. 1 illustrates transponder stream 180-1 and transponder stream 180-2being received by satellite dish 140 and distributed to televisionreceiver 150. For a first group of television channels, satellite dish140 may receive transponder stream 180-1 and for a second group ofchannels, transponder stream 180-2 may be received. Television receiver150 may decode the received transponder streams via two tuners. As such,depending on which television channels are desired to be presented orstored, various transponder streams from various satellites may bereceived, descrambled, and decoded by television receiver 150.

Network 190 may serve as a secondary communication channel betweentelevision service provider system 110 and television receiver 150. Viasuch a secondary communication channel, bidirectional exchange of datamay occur. As such, data may be transmitted to television serviceprovider system 110 from television receiver 150 via network 190. Datamay also be transmitted from television service provider system 110 totelevision receiver 150 via network 190. Network 190 may be theInternet. In addition to communication with television service providersystem 110 via network 190, television receiver 150 may access otherservices via network 190. For example, television receiver 150 may beable to access a third-party streaming content service provider, such asYouTube®, Vimeo®, Hulu®, Amazon®, or some other streaming contentservice provider. Content from such streaming content service providersmay be streamed to presentation device 160 via television receiver 150.Television receiver 150 may be configured to select and request specificpieces of content from among the content available at one or morestreaming content service providers.

Television service provider system 110 may include one or morecomponents that enable the distribution of metadata that indicates thebeginning, end, and/or (expected) duration of commercial breaks and/orindividual commercials. Metadata generation engine (MGE) 111 may serveto create metadata that is inserted into a transponder stream. MGE 111may create metadata to be inserted into a transponder stream thatcorresponds to the television channels that are carried on that specifictransponder stream. MGE 111 may create metadata that indicates when acommercial break commences. Therefore, the location of the metadata inthe transponder stream may indicate that data for a specific televisionchannel received after the metadata likely corresponds to a televisioncommercial break. In some embodiments, the metadata includes anindication of when the commercial break is expected to begin (such as inten seconds). MGE 111 may insert metadata based on an agent of thetelevision service provider indicating to MGE 111 that a commercialbreak has commenced (such as by viewing the broadcast content thatincludes the television program and commercials). In some embodiments,commercial breaks are detected automatically by MGE 111. The stream of atelevision channel received by television service provider system 110may include indications of the commencement of commercial breaks and/orspecific commercials. In some embodiments MGE 111 may monitor an earlierbroadcast instance of a television program to determine locations and/ordurations of commercial breaks that will likely appear during laterbroadcast of an instance of the television program. For instance, inparts of Europe it may be commonplace that a separate television channelis a delayed version of another television channel (e.g., sameprogramming schedule, but delayed an hour).

Metadata generation engine (MGE) 111 (and/or other components) may beoperated by a third-party provider rather than the television serviceprovider. For instance, metadata may be provided by a third-partyprovider via network 190 to television receiver 150. For instance, auser may pay a fee to the third-party provider in order to receivemetadata from the third-party provider.

In addition to indicating the beginning of a commercial break, metadataprovided to television receivers from MGE 111 may include an indicationof the actual or expected duration of a commercial break (or specificcommercials within the commercial break). The duration may be a defaultvalue, such as three minutes. In some embodiments, the duration may bebased upon historical engine 112, which may analyze previous commercialbreaks on the same television channel (or multiple television channels).For example, if a television program airs weekly, the commercial breakduration may generally remain constant from week to week. As such,commercial breaks from earlier episodes or airings of the sametelevision program may accurately serve to predict future commercialbreaks. Predictions based upon such a historical analysis may bedetermined by historical engine 112. In some embodiments, a particulartelevision channel may be a delayed version of another televisionchannel, which may be being broadcast in the same or a different timezone. The duration and location of commercial breaks within a televisionprogram on the television channel broadcast first may accurately be usedto predict the broadcast of television commercial breaks on thelater-broadcast version of the television channel.

In embodiments where streaming content is presented via presentationdevice 160, content selection engine 113 may be used to select specificinstances of content for presentation from one or more streaming contentservice providers. The content selected may at least partially be basedon the expected duration of the commercial break. For example, if thecommercial break is expected to last three minutes, the content selectedfor during the commercial break may, in total, be equal to or less thanthree minutes. MGE 111 may encode indications of content from contentselection engine 113 to be transmitted to television receiver 150 aspart of the transponder stream. Television receiver 150 could thenretrieve the content via network 190 from the indicated streamingcontent service provider. In some embodiments, rather than historicalengine 112 and/or content selection engine 113 being part of televisionservice provider system 110, similar components may be part oftelevision receiver 150.

FIG. 2 illustrates an embodiment of a television receiver 200.Television receiver 200 may represent television receiver 150 of FIG. 1.Television receiver 200 may be in the form of a separate deviceconfigured to be connected with a presentation device, such as atelevision. Embodiments of television receiver 200 can include set topboxes (STBs). In addition to being in the form of an STB, a televisionreceiver may be incorporated as part of another device, such as atelevision, other form of presentation device, video game console,computer, mobile phone or tablet or the like. For example, a televisionmay have an integrated television receiver (which does not involve anexternal STB being coupled with the television).

Television receiver 200 may include: processors 210 (which may includecontrol processor 210-1, tuning management processor 210-2, and possiblyadditional processors), tuners 215, network interface 220,non-transitory computer-readable storage medium 225, electronicprogramming guide (EPG) database 230, television interface 235, digitalvideo recorder (DVR) database 245 (which may include provider-managedtelevision programming storage and/or user-defined televisionprogramming), on-demand programming database 227, remote controlinterface 250, security device 260, descrambling engine 265, decodermodule 233, audience monitor 255, and/or display 256. In otherembodiments of television receiver 200, fewer or greater numbers ofcomponents may be present. It should be understood that the variouscomponents of television receiver 200 may be implemented using hardware,firmware, software, and/or some combination thereof. Functionality ofcomponents may be combined; for example, functions of descramblingengine 265 may be performed by tuning management processor 210-2.Further, functionality of components may be spread among additionalcomponents.

Processors 210 may include one or more specialized and/orgeneral-purpose processors configured to perform processes such astuning to a particular channel, accessing and displaying EPG informationfrom EPG database 230, and/or receiving and processing input from auser. It should be understood that the functions performed by variousmodules of FIG. 2 may be performed using one or more processors. Assuch, for example, functions of descrambling engine 265 may be performedby control processor 210-1.

Control processor 210-1 may communicate with tuning management processor210-2. Control processor 210-1 may control the recording of televisionchannels based on timers stored in DVR database 245. Control processor210-1 may also provide commands to tuning management processor 210-2when recording of a television channel is to cease. In addition toproviding commands relating to the recording of television channels,control processor 210-1 may provide commands to tuning managementprocessor 210-2 that indicate television channels to be output todecoder module 233 for output to a presentation device. Controlprocessor 210-1 may also communicate with network interface 220 andremote control interface 250. Control processor 210-1 may handleincoming data from network interface 220 and remote control interface250. Additionally, control processor 210-1 may be configured to outputdata via network interface 220.

Control processor 210-1 may include timing engine 211. Further detailregarding the functionality of timing engine 211 is provided inreference to timing engine 300 of FIG. 3.

Tuners 215 may include one or more tuners used to tune to transpondersthat include broadcasts of one or more television channels. In someembodiments, two, three, or more than three tuners may be present, suchas four, six, or eight tuners. Each tuner contained in tuners 215 may becapable of receiving and processing a single transponder stream from asatellite transponder (or from a cable network) at a given time. Assuch, a single tuner may tune to a single transponder stream at a giventime. If tuners 215 include multiple tuners, one tuner may be used totune to a television channel on a first transponder stream for displayusing a television, while another tuner may be used to tune to atelevision channel on a second transponder for recording and viewing atsome other time. If multiple television channels transmitted on the sametransponder stream are desired, a single tuner of tuners 215 may be usedto receive the signal containing the multiple television channels forpresentation and/or recording. Tuners 215 may receive commands fromtuning management processor 210-2. Such commands may instruct tuners 215which frequencies are to be tuned to. In some embodiments, the keycombination database (and/or remote control lock rules 247) are storedand processed by the remote control.

Network interface 220 may be used to communicate via an alternatecommunication channel with a television service provider, if suchcommunication channel is available. The primary communication channelmay be via satellite (which may be unidirectional to television receiver200) and the alternate communication channel (which may bebidirectional) may be via a network, such as the Internet. Data may betransmitted from television receiver 200 to a television serviceprovider system and from the television service provider system totelevision receiver 200. Information may be transmitted and/or receivedvia network interface 220. For instance, instructions from a televisionservice provider may also be received via network interface 220, ifconnected with the Internet. Network interface 220, if able to accessthe Internet, may be able to access one or more streaming contentservice providers. From such streaming content service providers,content for presentation in lieu of (or in addition to) commercialbreaks may be retrieved by television receiver 200.

Storage medium 225 may represent one or more non-transitorycomputer-readable storage mediums. Storage medium 225 may include memoryand/or a hard drive. Storage medium 225 may be used to store informationreceived from one or more satellites, via a cable network, via someother form of television service provider network, and/or informationreceived via network interface 220. Storage medium 225 may storeinformation related to EPG database 230, DVR database 245, and/oron-demand programming 227. Recorded television programs may be storedusing storage medium 225 as part of DVR database 245. Storage medium 225may be partitioned or otherwise divided (such as into folders) such thatpredefined amounts of storage medium 225 are devoted to storage oftelevision programs recorded due to user-defined timers and storedtelevision programs recorded due to provider-defined timers.

EPG database 230 may store information related to television channelsand the timing of programs appearing on such television channels. EPGdatabase 230 may be stored using storage medium 225, which may be a harddrive or solid-state drive. Information from EPG database 230 may beused to inform users of what television channels or programs are popularand/or provide recommendations to the user. Information from EPGdatabase 230 may provide the user with a visual interface displayed by atelevision that allows a user to browse and select television channelsand/or television programs for viewing and/or recording. Informationused to populate EPG database 230 may be received via network interface220, via satellite, or some other communication link with a televisionservice provider (e.g., a cable network). Updates to EPG database 230may be received periodically. EPG database 230 may serve as an interfacefor a user to control DVR functions of television receiver 200, and/orto enable viewing and/or recording of multiple television channelssimultaneously. Information from EPG database 230 may be output as avideo stream to a presentation device.

Decoder module 233 may serve to convert encoded video and audio into aformat suitable for output to a presentation device. For instance,decoder module 233 may receive MPEG video and audio from storage medium225 or descrambling engine 265 to be output to a television. MPEG videoand audio from storage medium 225 may have been recorded to DVR database245 as part of a previously-recorded television program. Decoder module233 may convert the MPEG video and audio into a format appropriate to bedisplayed by a television or other form of presentation device and audiointo a format appropriate to be output from speakers, respectively.Decoder module 233 may have the ability to convert a finite number oftelevision channel streams received from storage medium 225 ordescrambling engine 265, simultaneously. For instance, decoders withindecoder module 233 may be able to only decode a single televisionchannel at a time. Decoder module 233 may have various numbers ofdecoders.

Television interface 235 may serve to output a signal to a television(or another form of presentation device) in a proper format for displayof video and playback of audio. As such, television interface 235 mayoutput one or more television channels, and stored televisionprogramming from storage medium 225 (e.g., television programs from DVRdatabase 245, television programs from on-demand programming 230 and/orinformation from EPG database 230) to a television for presentation.

Digital Video Recorder (DVR) functionality may permit a televisionchannel to be recorded for a period of time. DVR functionality oftelevision receiver 200 may be managed by control processor 210-1.Control processor 210-1 may coordinate the television channel, starttime, and stop time of when recording of a television channel is tooccur. DVR database 245 may store information related to the recordingof television channels. DVR database 245 may store timers that are usedby control processor 210-1 to determine when a television channel shouldbe tuned to and its programs recorded to DVR database 245 of storagemedium 225. In some embodiments, a limited amount of storage medium 225may be devoted to DVR database 245. Timers may be set by the televisionservice provider and/or one or more users of television receiver 200.

DVR database 245 may also be used to record content from serviceprovider-defined television channels. For each day, an array of filesmay be created. For example, based on provider-defined timers, a filemay be created for each recorded television channel for a day. Forexample, if four television channels are recorded from 6-10 PM on agiven day, four files may be created (one for each television channel).Within each file, one or more television programs may be present. Theservice provider may define the television channels, the dates, and thetime periods for which the television channels are recorded for theprovider-defined timers. The provider-defined timers may be transmittedto television receiver 200 via the television provider's network. Forexample, in a satellite-based television service provider system, datanecessary to create the provider-defined timers at television receiver200 may be received via satellite. Content from DVR database 245 may beoutput as a video stream to a presentation device.

As an example of DVR functionality of television receiver 200 being usedto record based on provider-defined timers, a television serviceprovider may configure television receiver 200 to record televisionprogramming on multiple, predefined television channels for a predefinedperiod of time, on predefined dates. For instance, a television serviceprovider may configure television receiver 200 such that televisionprogramming may be recorded from 7 to 10 PM on NBC, ABC, CBS, and FOX oneach weeknight and from 6 to 10 PM on each weekend night on the samechannels. These channels may be transmitted as part of a singletransponder stream such that only a single tuner needs to be used toreceive the television channels. Packets for such television channelsmay be interspersed and may be received and recorded to a file. If atelevision program is selected for recording by a user and is alsospecified for recording by the television service provider, the userselection may serve as an indication to save the television program foran extended time (beyond the time which the predefined recording wouldotherwise be saved). Television programming recorded based onprovider-defined timers may be stored to a portion of storage medium 225for provider-managed television programming storage.

On-demand programming database 227 may store additional televisionprogramming. On-demand programming database 227 may include televisionprogramming that was not recorded to storage medium 225 via a timer(either user- or provider-defined). Rather, on-demand programming may beprogramming provided to the television receiver directly for storage bythe television receiver and for later presentation to one or more users.On-demand programming may not be user-selected. As such, the televisionprogramming stored to on-demand programming database 227 may be the samefor each television receiver of a television service provider.

Remote control interface 250 may receive communications from one or moreremote controls (physically separate from television receiver 200) thatallow a user to interact with television receiver 200. Remote controlinterface 250 may receive and send received commands to controlprocessor 210-1, which may then process the commands.

Security device 260, which may be implemented as a smart card, may beused for decrypting incoming data. The decrypted data may be used bydescrambling engine 265 for descrambling video and/or audio. Descrambledvideo and/or audio may be output by descrambling engine 265 to storagemedium 225 for storage (in DVR database 245) and/or to decoder module233 for output to a television or other presentation equipment viatelevision interface 235.

Tuning management processor 210-2 may be in communication with tuners215 and control processor 210-1. Tuning management processor 210-2 maybe configured to receive commands from control processor 210-1. Suchcommands may indicate when to start/stop receiving and/or recording of atelevision channel and/or when to start/stop causing a televisionchannel to be output to a television. Tuning management processor 210-2may control tuners 215. Tuning management processor 210-2 may providecommands to tuners 215 that instruct the tuners which satellite,transponder, and/or frequency to tune to. From tuners 215, tuningmanagement processor 210-2 may receive transponder streams of packetizeddata.

Television receiver 200 may include an audience monitor 255. Audiencemonitor 255 may include one or more image capture devices that arefacing toward a region where one or more persons are likely to belocated if watching content on a presentation device output bytelevision receiver 200 via television interface 235. From the imagescaptured by audience monitor 255, control processor 210-2 may beconfigured to determine if one or more persons are present. Whether oneor more persons are present may cause commercial breaks to be handleddifferently.

Television receiver 200 may include display 256. Display 256 may be adisplay present directly on television receiver 200. Display 256 may bepresent in embodiments where television receiver 200 is in the form ofan STB. Display 256 may allow television receiver 200 to directlydisplay information (that is, without outputting the information to apresentation device for display). In some embodiments, display 256 is amonochrome display that can present numerals. For example, display 256may be used to present a television channel number (e.g., the televisionchannel number currently being output for presentation). Display 256 mayalso be used to output for presentation a remaining duration determinedby timing engine 211.

For simplicity, television receiver 200 of FIG. 2 has been reduced to ablock diagram; commonly known parts, such as a power supply, have beenomitted. Further, some routing between the various modules of televisionreceiver 200 has been illustrated. Such illustrations are for exemplarypurposes only. The state of two modules not being directly or indirectlyconnected does not indicate the modules cannot communicate. Rather,connections between modules of the television receiver 200 are intendedonly to indicate possible common data routing. It should be understoodthat the modules of television receiver 200 may be combined into a fewernumber of modules or divided into a greater number of modules. Further,the components of television receiver 200 may be part of another device,such as built into a television. Television receiver 200 may include oneor more instances of various computerized components, such as disclosedin relation to computer system 900 of FIG. 9.

While the television receiver 200 has been illustrated as a satellitereceiver, it is to be appreciated that techniques below may beimplemented in other types of television receiving devices, such ascable receivers, terrestrial receivers, IPTV receivers or the like. Insome embodiments, the television receiver 200 may be configured as ahybrid receiving device, capable of receiving content from disparatecommunication networks, such as satellite and terrestrial televisionbroadcasts. In some embodiments, the tuners may be in the form ofnetwork interfaces capable of receiving content from designated networklocations. Further, as previously detailed, the electronic device thatinteracts with the remote control may be some other type of deviceentirely.

FIG. 3 illustrates an embodiment of a timing engine 300. Timing engine300 may represent an embodiment of timing engine 211, which is at leastpartially implemented using control processor 210-1. Timing engine 300may include: countdown timer 310, metadata analysis engine 320,historical engine 330, channel monitor 340, content retrieval engine350, streaming content storage 360, and/or user preference database 370.While timing engine 211 is illustrated as part of control processor210—one of television receiver 200, it should be understood that one ormore components of timing engine 300 may be implemented using othercomponents of television receiver 200; for instance, streaming contentstorage 360 may be implemented as storage on storage medium 225 oftelevision receiver 200.

Countdown timer 310 may serve to countdown for a predetermined amount oftime. For instance, if provided with an indication to start and aduration, such as 30 seconds, countdown timer 310 may start countingdown from 30 seconds until 0 seconds is reached. While countdown timer310 serves to indicate the amount of time remaining in a commercialbreak, countdown timer 310 may be implemented by a counter that countsup to a predetermined value associated with the expected duration ofcommercial break. While countdown timer 310 is executing, a remainingduration may be output by countdown timer 310 to television interface235. Television interface 235, based on a user input or user preference,may be configured to overlay the remaining duration output by countdowntimer 310 onto content being output to a presentation device bytelevision interface 235.

Metadata analysis engine 320 may be configured to analyze metadatareceived from metadata generation engine 111 of television serviceprovider system 110 of FIG. 1. Metadata analysis engine 320 may beconfigured to only analyze metadata associated with the televisionchannel currently being output for presentation via television interface235. Metadata analysis engine 320 may analyze received metadata todetermine when a television commercial break is to begin and theexpected duration of the commercial break. These two pieces ofinformation may be passed to countdown timer 310, which may causecountdown timer 310 to commence a countdown. If the metadata received bymetadata analysis engine 320 includes data related to content to beretrieved from a content streaming service for presentation during acommercial break, such information may be passed to content retrievalengine 350.

Historical engine 330 may function similarly to historical engine 112 ofFIG. 1. However, rather than the functionality of historical engine 112being implemented by a television service provider system 110,historical engine 330 may be implemented by control processor 210-1 oftelevision receiver 200.

Channel monitor 340 may serve to monitor if a second television channelhas been selected for output for presentation since a first commercialbreak has been commenced on a first television channel that waspreviously being output for presentation. If so, when the remainingduration of countdown timer 310 expires, channel monitor 340 may causethe first channel to again be output for presentation. In someembodiments, when the remaining duration of countdown timer 310 reachesa reference value, a picture-in-picture presentation of the firsttelevision channel may be presented overlaid on the second televisionchannel. How the expiration of the remaining duration of countdown timer310 is handled may be based at least in part on user preferences fromuser preference database 370 and on if another television channel hasbeen selected for output while the countdown timer is active countingdown.

Content retrieval engine 350 may be configured to retrieve content froma streaming content provider via network interface 220. Contentretrieval engine 350 may temporarily store such content in streamingcontent storage 360. Such storage may permit buffering of content tooccur while a television program is being output and have such contentready for presentation when a commercial break commences as indicated byreceived metadata. The content retrieved from one or more streamingcontent providers may be determined based on metadata indicating contentselected by content selection engine 113 of television service providersystem 110 and/or content selected by content retrieval engine 350 basedon user preferences from user preference database 370. Regardless ofwhich component selects the content, the content may be determined to beof a duration that is equal to or less than the remaining duration ofcountdown timer 310.

User preference database 370 may include preferences defined by a userof television receiver 200 that indicate how countdown timer 310 is tofunction. For instance, a user may indicate that on expiration of acountdown timer, the television receiver should tune to the firsttelevision channel on which the commercial break commenced (thus,returning to the first television channel if the user has changed to asecond television channel during the commercial break). User preferencesmay indicate under what circumstances a remaining duration of countdowntimer 310 are to be presented. For instance, the user may only desirethe remaining duration to be presented if less than or equal to areference value, defined by the user, is reached, such as thirtyseconds; otherwise, the remaining duration may not be presented. Theuser may define under what circumstances a PiP of the first televisionchannel is presented. For instance, a second reference value may bedefined by the user, such as stating that a PiP of the televisionchannel on which the commercial break was reached should be presentedwhen the remaining duration reaches ten seconds. Such an arrangement maypermit the user to see if the commercial break has ended early or willbe ending late. The user may provide input via a remote control toindicate if the remaining duration should be displayed. The user may berequired to provide input indicating that the first channel should bereturned to. In some embodiments, the user may be required to provideinput indicating that the first television channel is not to be returnedto upon expiration of the countdown timer. Such variations may bedefined by the user via user preference database 370.

FIGS. 4A-5 represents various embodiments of content, remainingdurations and/or interfaces output for presentation by a televisionreceiver, such as television receiver 200 of FIG. 2 which includestiming engine 300 of FIG. 3. It should be understood that theembodiments of these figures are intended to be exemplary. As such,other embodiments may be presented in a different format with more orless information.

FIG. 4A illustrates an embodiment 400A of presentation device receivingan output from the television receiver that includes a countdown timer.In embodiment 400A, a television channel is output for presentation bytelevision receiver 200 to presentation device 160. The video and audiocontent output for presentation to presentation device 160 maycorrespond to a first television channel for which a commercial breakhas commenced or a second television channel which the user selected forpresentation after the commercial break commenced. Regardless of whetherthe first television channel or the second television channel is beingoutput for presentation by the television receiver, remaining duration410 may be presented by presentation device 160 based on the output fromtelevision receiver 200. In some embodiments, remaining duration 410 mayonly be presented if the user has changed to the second televisionchannel (that is, there may be no reason to present remaining duration410 if the user has not changed the television channel).

Remaining duration 410 may be overlaid onto the video content output bytelevision interface 235 of the television receiver. Remaining duration410 may be opaque or partially transparent, which may allow for videocontent to be viewed “through” remaining duration 410. Remainingduration 410 may be based on the countdown being performed by countdowntimer 310 of timing engine 300, which commenced in response to metadataanalyzed by metadata analysis engine 320. In some embodiments, remainingduration 410 may not be presented until the predefined reference amountof time is reached by remaining duration 410. For example, remainingduration 410 may not be presented until less than a minute and a half isexpected to be remaining in the commercial break.

FIG. 4B illustrates an embodiment 400B of a television receiverpresenting a countdown timer. In embodiment 400B rather than remainingduration 410 being output for presentation via a presentation device160, the remaining duration is output for presentation directly via adisplay of television receiver 150. Therefore, by a user lookingdirectly at television receiver 150, remaining duration 420 may beviewed. By presenting remaining duration 420 directly on televisionreceiver 150, the presentation of content via presentation device 160may be presented without any overlay of information. Presentation ofremaining duration 420 may occur via display 256 of television receiver200 if television receiver 200 is in the form of an STB.

FIG. 4C illustrates an embodiment 400C of a presentation devicereceiving an output from a television receiver that includes a countdowntimer with a timer-induced picture-in-picture (PiP) display. In suchembodiments, if the user has tuned to a second television channel inresponse to a commercial break commencing on a first television channel,a PiP view of the first television channel may be output by televisionreceiver 200. The PiP view 430 of the first television channel maycommence once the remaining duration of the countdown timer reaches apredefined, reference value, such as thirty seconds remaining. The PiPview 430 may include the remaining duration. In some embodiments, theremaining duration may commence being presented in response to adifferent predefined, reference value, which may be greater inmagnitude, such as one minute. PiP view 430 may be useful if thecommercial break ends or runs over the expected duration, thus allowingthe user to switch back to the first television channel earlier orlater, such as depending on if the user sees a commercial or the desiredtelevision program being presented in PiP view 430. As illustrated inthe embodiment of PiP view 430, a soda commercial is present on thefirst television channel. A user may press a remote control button toswitch back to the first television channel. The second televisionchannel may cease being presented or may switch to being presented inPiP view 430.

In some embodiments, content from a provider other than the televisionservice provider is presented. Such content may be from a streamingcontent provider, which may be accessible via the Internet. FIG. 5illustrates an embodiment 500 of a commercial-induced alternate contentpresentation selection interface. Interface 510 may permit a user todefine various user preferences related to the selection of content forpresentation in lieu of (or in addition to) a commercial break. Userpreferences defined via interface 510 may be stored by televisionreceiver 200 as part of user preference database 370 (or, in someembodiments, may be transmitted to television service provider system110 of FIG. 1). In interface 510, a user may be able to select fromamong a group of various available content sources. In some embodiments,the user is required to provide login credentials for one or more of thecontent sources. In other embodiments, login credentials may not benecessary, or credentials provided by the television service providermay be sufficient. Via interface 510, the user may be permitted toselect from among various content categories from which the user desiresto see content. In embodiment 500, the user has selected comedy,previews (e.g., movie previews, television program previews), and musicvideos. The categories available for selection may be defined by thevarious content sources or by the television service provider. Viainterface 510, the user may be able to select a maximum rating. Forexample, the user may not desire to see R-rated material from astreaming content provider. In the illustrated embodiment, the user hasselected the rating of PG-13 or less.

Via interface 510, the user may be able to select whether the contentfrom the one or more streaming content providers is buffered by thetelevision receiver prior to a commercial break commencing. Suchbuffering may permit the content to be presented sooner when acommercial break commences (because buffering would already have begun).Also, via interface 510, user may define one or more selection criteria.In the illustrated embodiment 500, the user has indicated that selectioncriteria should be based on the daily popularity of the content.Therefore, during a commercial break, the user may be presented one ormore of the most popular pieces of content for that day present on thestreaming content source that corresponds to the category and ratingselected by the user. In some embodiments, the television serviceprovider may provide indications of specific instances of content orcategories of content that are to be retrieved by the televisionreceiver from the one or more streaming content providers. As such, thetelevision service provider may be able to define content that will beretrieved for presentation during a commercial break. Besidespopularity, a user may be permitted to select among criteria such as:duration match (the duration of the content matches the duration of thecountdown timer's remaining duration within a threshold amount of time),relativity (related to the television program or television channelwhich is on commercial break), or playlist (a preselected list ofcontent determined by the user from which content is to be selected forplayback).

Interface 510 may allow a user to define what occurs when the remainingduration has been overrun by content being output for presentation thatwas retrieved from a streaming content provider. In embodiment 500, theuser has indicated that the television channel should resume beingoutput for presentation, and the content from the streaming contentprovider should cease being presented (in some embodiments, it mayresume during a future commercial break). In other embodiments, the usermay indicate that the streaming content complete being output forpresentation, then the television channel resumes being output forpresentation by the television receiver. Another possible selection maybe that the television channel begins being recorded by the televisionreceiver when the remaining duration expires. The streaming content maythen be completed being output for presentation, after which thetelevision channel resumes being output from the recording. As such, theuser would not need to cut short the streaming content or miss viewing aportion of the television program. In some embodiments, if an overrunoccurs, either the television channel or the streaming content is outputin a picture-in-picture view. In some embodiments, while the streamingcontent is being output for presentation, the television channel oncommercial break is presented in a PiP view. In some embodiments, thestreaming content is instead presented in the PiP view. Audio maycorrespond to either the PiP view or the streaming content, possiblybased on a selection by the user or by the television service provider.

In addition to the user preferences indicated in interface 510, theremaining duration determined by the timing engine along with theplayback time of the streaming content may be used to select appropriatestreaming content for presentation. Streaming content may not beeligible for presentation during a commercial break unless it isexpected to last an equal amount of time or less amount of time than theremaining duration of the commercial break. Therefore, a single piece ofstreaming content may be presented during a commercial break, ormultiple, shorter pieces of streaming content may be presented during acommercial break. In some embodiments, the user may define an acceptablewindow of duration for the streaming content. For example, the user mayindicate that, if the streaming content overruns the remaining durationby ten seconds or less, this overrun is acceptable even if a portion ofthe television program will be missed when it resumes from thetelevision commercial break. Alternatively, as previously noted, thetelevision channel may be recorded when the remaining duration of thecountdown timer expires such that the user does not need to expect tomiss any portion of the television program if the streaming contentoverruns the remaining duration.

While interface 510 illustrates user preferences, it should beunderstood that the television service provider may provide defaultvalues for some or all of these user preferences and/or maybe define atleast some of such values without allowing a user to adjust them.

Various methods may be performed using the systems and embodimentsdetailed in relation to FIGS. 1-5. FIG. 6 illustrates an embodiment of amethod 600 for handling broadcast television commercials. Method 600 maybe performed using satellite television distribution system 100 of FIG.1, television receiver 200 of FIG. 2, and timing engine 300 of FIG. 3.Method 600 may result in a presentation device presenting contentsimilar to embodiment 400A of FIG. 4A or embodiments 400B of FIG. 4B.Each step of method 600 may be performed by a television receiver. Thetelevision receiver used to perform method 600 may include variouscomputerized components, such as detailed in relation to computer system900 of FIG. 9. Method 600 may be performed when a television viewerdesires to view broadcast television programming as it is received; thatis, without first recording the television programming. However, method600 may also be used for recorded television programming in lieu of fastforwarding through the television commercial break.

At step 610, metadata may be received by a television receiver thatindicates the commencement of a television commercial break. Themetadata may have been created by a television service provider, such asvia television service provider system 110 using metadata generationengine 111. The metadata received at step 610 may indicate thecommencement of a television commercial break and/or an expected lengthof the commercial break. In some embodiments, such metadata is receivedfor individual commercials rather than an entire commercial break, whichis usually composed of multiple commercials presented in sequence. In asatellite-based television distribution system, the metadata received atstep 610 may be included as part of the same transponder stream on whichthe television channel for which the commercial break is being broadcast(or is about to be broadcast). Metadata associated with a televisionchannel may be indicated by a particular packet identifier (PID), thusallowing a PID filter to be implemented at tuning management processors210-2 to allow the metadata to be extracted from the transponder stream,which may be made of a serial stream of packet data. In someembodiments, although the television programming is distributed via atransponder stream, the metadata may be transmitted to the televisionreceiver via an alternate communication path, such as via the Internetor some other form of network.

At step 620, based on the received metadata, the television receiver mayinitiate a countdown timer. The metadata may serve to trigger thetelevision receiver to start a countdown timer, such as via timingengine 211 of control processor 210-1 (which is detailed in relation totiming engine 300 of FIG. 3). The metadata may trigger the countdowntimer to start immediately or at a defined, later time (for instance,the metadata may indicate that the countdown timer is to start 15seconds after the metadata is received). The metadata may also serve toindicate a value from which the countdown timer should count down (e.g.,one minute, thirty seconds, etc.). In some embodiments, the duration ofthe countdown timer is determined by the television receiver, such asbased on a historical analysis of the television channel on which thetelevision commercial break is being broadcast.

At step 630, the countdown timer is presented while the countdown timeris counting down, thus presenting a remaining duration of the countdowntimer. The countdown timer may be presented via a presentation device bythe television receiver outputting the remaining duration overlaid onvideo being output to the presentation device. Additionally oralternatively, the countdown timer may be presented directly on adisplay of the television receiver, such as display 256 of televisionreceiver 200. In some embodiments, display 256 presents the countdowntimer while it is active and user input can cause the countdown timer tobe presented via the presentation device when desired. If the userchanges the television channel while the countdown timer is active, theremaining duration may continue to be presented via the presentationdevice and/or the display of the television receiver. In someembodiments, when the remaining duration expires, if the user haschanged the television channel to another, second television channel,the television receiver may return to the first television channel.

In such embodiments, if the two television channels are received ondifferent transponder streams, a first tuner and second tuner may betuned to each transponder stream simultaneously, such that the firsttelevision channel (on which the commercial break is being presented)and the second television channel such that both television channels arebeing received, descrambled, and decoded (e.g., from an MPEG format)simultaneously. Such an arrangement may facilitate switching between thetwo television channels. If the two television channels are present onthe same transponder stream, the television receiver may use a singletuner to receive both television channels for descrambling and decoding.

In some embodiments, when the countdown timer expires, a determinationmay be made as to whether a television viewer is likely viewing thepresentation device. Referring to television receiver 200, audiencemonitor 255 may be used to determine whether or not a television vieweris present. If not, an auditory announcement may be made by thetelevision receiver, possibly via the presentation device, to alert atelevision viewer out of the room that the television programming isresuming. For example, a simulated ringing bell or spoken message may beoutput that indicates the commercial break is scheduled to be ending. Insome embodiments, the auditory announcement may be configured to occurwhen the remaining duration reaches a reference value, such as twentyseconds. Such an arrangement may provide the user with time to return toviewing the presentation device, if the user so desires.

FIG. 7 illustrates an embodiment of a method 700 for handling broadcasttelevision commercials by altering presentation based on the remainingduration of the countdown timer. Method 700 may be performed usingsatellite television distribution system 100 of FIG. 1, televisionreceiver 200 of FIG. 2, and timing engine 300 of FIG. 3. Method 700 mayresult in a presentation device presenting content similar to embodiment400C of FIG. 4C. Each step of method 700 may be performed by atelevision receiver. The television receiver used to perform method 700may include various computerized components, such as detailed inrelation to computer system 900 of FIG. 9. Method 700 may be performedwhen a television viewer desires to view broadcast televisionprogramming as it is received; that is, without first recording thetelevision programming. However, method 700 may also be used forrecorded television programming in lieu of fast forwarding through thetelevision commercial break.

Steps 710 and 720 may be performed similarly to steps 610 and 620 ofmethod 600, respectively. Following step 720, the countdown timer maynot yet be presented. In some embodiments, a time after the countdowntimer begins, the remaining duration may be removed from presentation.As such, the user may be aware the countdown timer has begun. At step730, based upon the countdown timer reaching a first reference value,the countdown timer may begin being presented. The first reference valuemay be defined by the television service provider or by the user andstored as a user preference. Once the first reference value is reachedby the remaining duration of the countdown timer, the countdown timermay be presented, either via the presentation device or by the displayof the television receiver. Following step 730, a television viewer maybe able to view the remaining duration. In some embodiments, theremaining duration is only presented if the user has also changed toanother television channel while the countdown timer is active (i.e.,counting down).

At step 740, the remaining duration of the countdown timer may continueto decrease as time progresses. When a second reference value isreached, a PiP view of the (first) television channel currentlybroadcasting the commercial break may be presented. The PiP view of thefirst television channel may only be presented if the user has changedthe television channel to a second television channel. The secondreference value may be defined by the television service provider or bythe user and stored as a user preference. In some embodiments, the firstreference value and the second reference value may be the same. In someembodiments, when the remaining duration expires, if the user haschanged the television channel to another, second television channel,the television receiver may return to the first television channel. Inother embodiments, the user may be required to provide input indicatingthat the user desires to tune back to the first television channel. Insuch embodiments, if user input to switch back to the first televisionchannel is not received by the time the remaining duration expires, thePiP view may continue to be presented for a predefined period of time,such as one minute. If, within this time period, the user still does notprovide input requesting the first channel be presented via the fullscreen, the PiP view may be discontinued. If the user provides userinput (e.g., via a remote control) that switches presentation back tothe first television channel, the second television channel may ceasebeing presented or may be presented via the PiP view. A user preferencemay define how the second television channel is handled in suchcircumstances.

FIG. 8 illustrates an embodiment of a method 800 for handling broadcasttelevision commercials by presenting streaming video content duringcommercial breaks. Method 800 may be performed using satellitetelevision distribution system 100 of FIG. 1, television receiver 200 ofFIG. 2, and timing engine 300 of FIG. 3. Each step of method 800 may beperformed by a television receiver. The television receiver used toperform method 800 may include various computerized components, such asdetailed in relation to computer system 900 of FIG. 9. Method 800 may beperformed when a television viewer desires to view broadcast televisionprogramming as it is received; that is, without first recording thetelevision programming. However, method 800 may also be used forrecorded television programming in lieu of fast forwarding through thetelevision commercial break.

Steps 810 and 820 may be performed similarly to steps 610 and 620 ofmethod 600, respectively. At step 830, in addition to or in lieu of thecommercial break being output for presentation, content from athird-party streaming content provider may be presented to thetelevision viewer via the presentation device. If the televisioncommercial break is also to be presented, it may be presented in a PiPview (or the streaming content may be presented in the PiP view). Othersplit-screen arrangements are also possible. In some embodiments, ratherthan the streaming content being retrieved from a third-party streamingcontent provider, such as YouTube® (that is, a streaming contentprovider other than the television service provider), the streamingcontent may be retrieved from the television service provider via anetwork connection. The streaming content retrieved from the streamingcontent provider may be selected based on user preferences and/or anindication of content to be retrieved indicated in the metadata receivedat step 810. In some embodiments, the streaming content is at leastpartially buffered before the commercial break commences such that thecontent will be ready for playback sooner (ideally, when the commercialbreak begins). The content selected for playback may at least bepartially based on the remaining duration of the countdown timer. Saidanother way, at the beginning of the commercial break, the remainingduration is the duration of time indicated in the metadata received fromthe television service provider or determined by the television receiverbased on a historical analysis. If the remaining duration is largeenough, multiple pieces of content from one or more streaming contentproviders may be provided during the remaining duration. In someembodiments, the user may be permitted to select from among multiplepieces of content to select the content the user desires to view. Forinstance, a user may use his smartphone to create a playlist ofstreaming content for presentation during commercial breaks. Thisplaylist may then be used by the television receiver (or a remotecomputer server) to select which piece of content should be presentedduring the remaining duration based on its position in the playlist andthe duration of the content as compared to the remaining duration.

When the remaining duration of the countdown timer expires at step 840,the presentation of the television channel may resume. In someembodiments, a PiP view of the television channel may be presentedinstead, such as detailed in relation to method 700 (e.g., with userinput being required to trigger presentation reverting to the televisionchannel). The action taken by the television receiver at step 840 may bebased on stored user preferences. It should be understood that aspectsof method 700 may be combined with method 800 to enable a PiP view ofthe television channel based on the remaining duration.

FIG. 9 illustrates an embodiment of a computer system. A computer systemas illustrated in FIG. 9 may be incorporated as part of the previouslydescribed computerized devices, such as the television receivers (whichmay be in the form of STBs), the television service provider system (or,more specifically, metadata generation engine 111, historical engine112, and/or content selection engine 113), and/or the mobile devices.FIG. 9 provides a schematic illustration of one embodiment of a computersystem 900 that can perform various steps of the methods provided byvarious embodiments. It should be noted that FIG. 9 is meant only toprovide a generalized illustration of various components, any or all ofwhich may be utilized as appropriate. FIG. 9, therefore, broadlyillustrates how individual system elements may be implemented in arelatively separated or relatively more integrated manner.

The computer system 900 is shown comprising hardware elements that canbe electrically coupled via a bus 905 (or may otherwise be incommunication, as appropriate). The hardware elements may include one ormore processors 910, including without limitation one or moregeneral-purpose processors and/or one or more special-purpose processors(such as digital signal processing chips, graphics accelerationprocessors, video decoders, and/or the like); one or more input devices915, which can include without limitation a mouse, a keyboard, remotecontrol, and/or the like; and one or more output devices 920, which caninclude without limitation a display device, a printer, and/or the like.

The computer system 900 may further include (and/or be in communicationwith) one or more non-transitory storage devices 925, which cancomprise, without limitation, local and/or network accessible storage,and/or can include, without limitation, a disk drive, a drive array, anoptical storage device, a solid-state storage device, such as a randomaccess memory (“RAM”), and/or a read-only memory (“ROM”), which can beprogrammable, flash-updateable and/or the like. Such storage devices maybe configured to implement any appropriate data stores, includingwithout limitation, various file systems, database structures, and/orthe like.

The computer system 900 might also include a communications subsystem930, which can include without limitation a modem, a network card(wireless or wired), an infrared communication device, a wirelesscommunication device, and/or a chipset (such as a Bluetooth™ device, an802.11 device, a WiFi device, a WiMax device, cellular communicationdevice, etc.), and/or the like. The communications subsystem 930 maypermit data to be exchanged with a network (such as the networkdescribed below, to name one example), other computer systems, and/orany other devices described herein. In many embodiments, the computersystem 900 will further comprise a working memory 935, which can includea RAM or ROM device, as described above.

The computer system 900 also can comprise software elements, shown asbeing currently located within the working memory 935, including anoperating system 940, device drivers, executable libraries, and/or othercode, such as one or more application programs 945, which may comprisecomputer programs provided by various embodiments, and/or may bedesigned to implement methods, and/or configure systems, provided byother embodiments, as described herein. Merely by way of example, one ormore procedures described with respect to the method(s) discussed abovemight be implemented as code and/or instructions executable by acomputer (and/or a processor within a computer); in an aspect, then,such code and/or instructions can be used to configure and/or adapt ageneral purpose computer (or other device) to perform one or moreoperations in accordance with the described methods.

A set of these instructions and/or code might be stored on anon-transitory computer-readable storage medium, such as thenon-transitory storage device(s) 925 described above. In some cases, thestorage medium might be incorporated within a computer system, such ascomputer system 900. In other embodiments, the storage medium might beseparate from a computer system (e.g., a removable medium, such as acompact disc), and/or provided in an installation package, such that thestorage medium can be used to program, configure, and/or adapt a generalpurpose computer with the instructions/code stored thereon. Theseinstructions might take the form of executable code, which is executableby the computer system 900 and/or might take the form of source and/orinstallable code, which, upon compilation and/or installation on thecomputer system 900 (e.g., using any of a variety of generally availablecompilers, installation programs, compression/decompression utilities,etc.), then takes the form of executable code.

It will be apparent to those skilled in the art that substantialvariations may be made in accordance with specific requirements. Forexample, customized hardware might also be used, and/or particularelements might be implemented in hardware, software (including portablesoftware, such as applets, etc.), or both. Further, connection to othercomputing devices such as network input/output devices may be employed.

As mentioned above, in one aspect, some embodiments may employ acomputer system (such as the computer system 900) to perform methods inaccordance with various embodiments of the invention. According to a setof embodiments, some or all of the procedures of such methods areperformed by the computer system 900 in response to processor 910executing one or more sequences of one or more instructions (which mightbe incorporated into the operating system 940 and/or other code, such asan application program 945) contained in the working memory 935. Suchinstructions may be read into the working memory 935 from anothercomputer-readable medium, such as one or more of the non-transitorystorage device(s) 925. Merely by way of example, execution of thesequences of instructions contained in the working memory 935 mightcause the processor(s) 910 to perform one or more procedures of themethods described herein.

The terms “machine-readable medium,” “computer-readable storage medium”and “computer-readable medium,” as used herein, refer to any medium thatparticipates in providing data that causes a machine to operate in aspecific fashion. These mediums may be non-transitory. In an embodimentimplemented using the computer system 900, various computer-readablemedia might be involved in providing instructions/code to processor(s)910 for execution and/or might be used to store and/or carry suchinstructions/code. In many implementations, a computer-readable mediumis a physical and/or tangible storage medium. Such a medium may take theform of a non-volatile media or volatile media. Non-volatile mediainclude, for example, optical and/or magnetic disks, such as thenon-transitory storage device(s) 925. Volatile media include, withoutlimitation, dynamic memory, such as the working memory 935.

Common forms of physical and/or tangible computer-readable mediainclude, for example, a floppy disk, a flexible disk, hard disk,magnetic tape, or any other magnetic medium, a CD-ROM, any other opticalmedium, any other physical medium with patterns of marks, a RAM, a PROM,EPROM, a FLASH-EPROM, any other memory chip or cartridge, or any othermedium from which a computer can read instructions and/or code.

Various forms of computer-readable media may be involved in carrying oneor more sequences of one or more instructions to the processor(s) 910for execution. Merely by way of example, the instructions may initiallybe carried on a magnetic disk and/or optical disc of a remote computer.A remote computer might load the instructions into its dynamic memoryand send the instructions as signals over a transmission medium to bereceived and/or executed by the computer system 900.

The communications subsystem 930 (and/or components thereof) generallywill receive signals, and the bus 905 then might carry the signals(and/or the data, instructions, etc. carried by the signals) to theworking memory 935, from which the processor(s) 910 retrieves andexecutes the instructions. The instructions received by the workingmemory 935 may optionally be stored on a non-transitory storage device925 either before or after execution by the processor(s) 910.

It should further be understood that the components of computer system900 can be distributed across a network. For example, some processingmay be performed in one location using a first processor while otherprocessing may be performed by another processor remote from the firstprocessor. Other components of computer system 900 may be similarlydistributed. As such, computer system 900 may be interpreted as adistributed computing system that performs processing in multiplelocations. In some instances, computer system 900 may be interpreted asa single computing device, such as a distinct laptop, desktop computer,or the like, depending on the context.

The methods, systems, and devices discussed above are examples. Variousconfigurations may omit, substitute, or add various procedures orcomponents as appropriate. For instance, in alternative configurations,the methods may be performed in an order different from that described,and/or various stages may be added, omitted, and/or combined. Also,features described with respect to certain configurations may becombined in various other configurations. Different aspects and elementsof the configurations may be combined in a similar manner. Also,technology evolves and, thus, many of the elements are examples and donot limit the scope of the disclosure or claims.

Specific details are given in the description to provide a thoroughunderstanding of example configurations (including implementations).However, configurations may be practiced without these specific details.For example, well-known circuits, processes, algorithms, structures, andtechniques have been shown without unnecessary detail in order to avoidobscuring the configurations. This description provides exampleconfigurations only, and does not limit the scope, applicability, orconfigurations of the claims. Rather, the preceding description of theconfigurations will provide those skilled in the art with an enablingdescription for implementing described techniques. Various changes maybe made in the function and arrangement of elements without departingfrom the spirit or scope of the disclosure.

Also, configurations may be described as a process which is depicted asa flow diagram or block diagram. Although each may describe theoperations as a sequential process, many of the operations can beperformed in parallel or concurrently. In addition, the order of theoperations may be rearranged. A process may have additional steps notincluded in the figure. Furthermore, examples of the methods may beimplemented by hardware, software, firmware, middleware, microcode,hardware description languages, or any combination thereof. Whenimplemented in software, firmware, middleware, or microcode, the programcode or code segments to perform the necessary tasks may be stored in anon-transitory computer-readable medium such as a storage medium.Processors may perform the described tasks.

Having described several example configurations, various modifications,alternative constructions, and equivalents may be used without departingfrom the spirit of the disclosure. For example, the above elements maybe components of a larger system, wherein other rules may takeprecedence over or otherwise modify the application of the invention.Also, a number of steps may be undertaken before, during, or after theabove elements are considered.

What is claimed is:
 1. A method for handling broadcast televisioncommercials, the method comprising: receiving, by a television receiver,from a television service provider, metadata that indicates acommencement of a television commercial break and an expected duration;based on the metadata, initiating, by the television receiver, acountdown timer such that the countdown timer is based on the expectedduration of the television commercial break and counts down; outputting,by the television receiver, for presentation, a remaining duration basedon the countdown timer as the countdown timer counts down; identifying,by the television receiver, a piece of content equal to or less than theremaining duration to request from a streaming content provider from aplaylist of preselected pieces of content, wherein: the playlist was setby a user of the television receiver; positions of the preselectedpieces of content on the playlist are used in identifying the piece ofcontent; and the television service provider is distinct from thestreaming content provider; requesting, by the television receiver, theidentified piece of content; receiving, by the television receiver, therequested piece of content; and outputting, by the television receiver,the received piece of content during the remaining duration.
 2. Themethod for handling broadcast television commercials of claim 1, whereinoutputting for presentation the remaining duration occurs via a displaypresent on the television receiver.
 3. The method for handling broadcasttelevision commercials of claim 1, further comprising: outputting, bythe television receiver, to a presentation device, a first broadcast ofa first television channel, wherein: the first television channel ispresenting the television commercial break; and outputting the remainingduration comprises presenting the remaining duration on the presentationdevice overlaid on the television commercial break.
 4. The method forhandling broadcast television commercials of claim 3, furthercomprising: outputting, by the television receiver, a second broadcastof a second television channel in response to user input; and continuingto output, by the television receiver, the remaining duration overlaidon the second broadcast of the second television channel.
 5. The methodfor handling broadcast television commercials of claim 4, furthercomprising: changing, by the television receiver, the second televisionchannel to the first television channel based on the remaining durationexpiring.
 6. The method for handling broadcast television commercials ofclaim 1, further comprising: receiving, by the television receiver, auser-defined time period, wherein the remaining duration is output forpresentation in response to the remaining duration equaling or beingless than the user-defined time period.
 7. The method for handlingbroadcast television commercials of claim 1, further comprising:receiving, by the television receiver, a command from a remote controlrequesting the remaining duration, wherein the remaining duration isoutput for presentation in response to the command.
 8. The method forhandling broadcast television commercials of claim 1, furthercomprising: presenting the piece of content in lieu of at least aportion of the television commercial break.
 9. The method for handlingbroadcast television commercials of claim 1, wherein the metadata isreceived from a third-party provider via a network connection, thethird-party provider being distinct from a television service provider.10. The method for handling broadcast television commercials of claim 1,further comprising: presenting the piece of content simultaneously withat least a portion of the television commercial break.
 11. The methodfor handling broadcast television commercials of claim 1, furthercomprising: receiving, from the user, selections of the preselectedpieces of content for the playlist.
 12. A system for handling broadcasttelevision commercials, the system comprising: one or more processors;and a memory communicatively coupled with and readable by the one ormore processors and having stored therein processor-readableinstructions which, when executed by the one or more processors, causethe one or more processors to: receive metadata that indicates acommencement of a television commercial break and an expected duration;based on the metadata, initiate a countdown timer such that thecountdown timer is based on the expected duration of the televisioncommercial break and counts down; output for presentation, a remainingduration based on the countdown timer as the countdown timer countsdown; identify a piece of content equal to or less than the remainingduration to request from a streaming content provider from a playlist ofpreselected pieces of content, wherein: the playlist was set by a userof the television receiver; and request the identified piece of contentfrom the streaming content provider; receive the requested piece ofcontent from the streaming content provider; and output the receivedpiece of content during the remaining duration.
 13. The system forhandling broadcast television commercials of claim 12, wherein theprocessor-readable instructions that, when executed, cause the one ormore processors to output for presentation the remaining duration occursvia a display present on the television receiver.
 14. The system forhandling broadcast television commercials of claim 12, wherein theprocessor-readable instructions, when executed, further cause the one ormore processors to: output, to a presentation device, a first broadcastof a first television channel, wherein: the first television channel ispresenting the television commercial break; and outputting the remainingduration comprises presenting the remaining duration on the presentationdevice overlaid on the television commercial break.
 15. The system forhandling broadcast television commercials of claim 14, wherein theprocessor-readable instructions, when executed, further cause the one ormore processors to: output a second broadcast of a second televisionchannel in response to user input; and continue to output the remainingduration overlaid on the second broadcast of the second televisionchannel.
 16. The system for handling broadcast television commercials ofclaim 12, wherein the processor-readable instructions, when executed,further cause the one or more processors to: receive a command from aremote control requesting the remaining duration, wherein the remainingduration is output for presentation in response to the command, whereinthe system further comprises the remote control.
 17. The system forhandling broadcast television commercials of claim 12, wherein theprocessor-readable instructions, when executed, further cause the one ormore processors to: cause the piece of content to be output forpresentation in lieu of at least a portion of the television commercialbreak.
 18. The system for handling broadcast television commercials ofclaim 12, wherein the system is configured to receive the metadata froma third-party provider via the Internet, the third-party provider beingdistinct from a television service provider.
 19. A non-transitoryprocessor-readable medium for handling broadcast television commercialscomprising processor-readable instructions configured to cause one ormore processors to: receive metadata that indicates a commencement of atelevision commercial break and an expected duration; based on themetadata, initiate a countdown timer such that the countdown timer isbased on the expected duration of the television commercial break andcounts down; output for presentation a remaining duration based on thecountdown timer as the countdown timer counts down identify a piece ofcontent equal to or less than the expected duration to request from astreaming content provider from a playlist of preselected pieces ofcontent, wherein: the playlist was set by a user; and positions of thepreselected pieces of content on the playlist are used in identifyingthe piece of content; request the identified piece of content; receivethe requested piece of content; and output the received piece of contentduring the remaining duration.